#ifndef CONNECTION_H
#define CONNECTION_H
#include <QMessageBox>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QDebug>
#include <QSqlError>
#include <QFileInfo>
#include <QFile>
#include <QString>
#include <QFileDialog>

static bool createConnection()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); //添加数据库驱动
//QFile f("G:/奇怪的资料/大二上课设资料/identifier.db");
/*if(!f.isOpen())
{
     QMessageBox::information(nullptr, "infor", "open failed");
}*/
//QString fn=f.fileName();
//fn=QFileDialog::getOpenFileName(this,"选择数据库文件","","SQLite数据库(*.db,*.db3)");
//db.setDatabaseName(fn);       //这里输入你的数据库名
db.setUserName("root");
db.setPassword("12346");   //这里输入你的密码
bool ok=db.open();
if (ok){
       QMessageBox::information(nullptr, "infor", "success");

   }
   else {
       QMessageBox::information(nullptr, "infor", "open failed");
       qDebug()<<"error open database because"<<db.lastError().text();
   }
//查询数据库中所有表的名称
    QStringList tables = db.tables();
    foreach(QString table, tables)
        qDebug()<<table;

//ODBC查询数据
    QSqlQuery result = db.exec(" select * from student");
    while(result.next()){
        qDebug()<<"user_id:"<<result.value("user_id").toInt();
        qDebug()<<"name:"<<result.value("name").toString();
        qDebug()<<"password:"<<result.value("password").toString();
        qDebug()<<"score:"<<result.value("score").toInt()<<endl;
    }

// 创建表
// 如果 MySQL 数据库中已经存在同名的表， 那么下面的代码不会执行
//QSqlQuery query(db);
// 使数据库支持中文
//query.exec("SET NAMES 'Latin1'");
// 创建 course 表
//QString t=QString("飞机路程所需最短时间为:7分钟;\n此时所需花费:7;\n将要经历的城市为:郑州;武汉;西安;\n将要乘坐的车次为:Z11;Z19;");
/*query.exec("create table course (id int primary key, "
"name varchar(20), teacher varchar(20))");
query.exec("insert into course values(0, '数学', '刘老师')");
query.exec("insert into course values(1, '英语', '张老师')");
query.exec("insert into course values(2, '计算机', '李老师')");
qDebug()<<"1";*/
return true;
}

#endif // CONNECTION_H
